package dominio;

import javax.persistence.Entity;
import javax.persistence.Inheritance;
import javax.persistence.InheritanceType;
import javax.persistence.Table;

import persistencia.PersistentObject;
import dto.CondicionVentaTO;
import dto.FinanciacionTO;
import dto.PagoContadoTO;

@Entity
@Inheritance(strategy = InheritanceType.JOINED)
@Table(name = "CondicionVenta")
public abstract class CondicionVenta extends PersistentObject {
	private static final long serialVersionUID = 1L;

	public abstract CondicionVentaTO getDTO();

	public static CondicionVenta fromDTO(CondicionVentaTO dto) {
		if (dto instanceof FinanciacionTO)
			return Financiacion.fromDTO((FinanciacionTO) dto);
		else if (dto instanceof PagoContadoTO)
			return PagoContado.fromDTO((PagoContadoTO) dto);
		return null;
	}
}